<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        let p = new Promise((res, rej) => {
            // res('ok');
            rej('error')
        });

        console.log(p);

        // then返回的promise对象- 是受 执行函数的返回值影响的！
        let p2 = p.then(val => {
            console.log("成功回调");

            // 返回非promise 对象 - 成功、结果值=返回值
            // return 123
            // return undefined;
            // return null

            // promise对象 - 看promise状态及结果 相等的
            // return new Promise((res, rej) => {
            //     rej('失败了');
            // });

            // 抛错 - 失败、结果值 抛出值
            // throw 123;
            // throw new Error('失败了');
        }, rea => {
            // return 123;

            // return new Promise((res) => {
            //     res('ok');
            // })

            throw '错了'
        });

        console.log(p2);

        console.log(p2 === p);
    </script>
</body>

</html>